#[钛妹]: 如何判断两个集合是否完全包含？pop怎么用？
#[钛哥]: 今天咱们用真实场景演示集合关系判断的奥秘！

#[钛妹]: isdisjoint怎么用？
even = {2, 4, 6}
prime = {2, 3, 5}
print(even.isdisjoint(prime))  # False (有公共元素2)

letters = {'a', 'b'}
digits = {1, 2}
print(letters.isdisjoint(digits))  # True (完全不相交)

#[钛妹]: <= 和 < 的区别是什么？
setA = {1, 2}
setB = {1, 2, 3}
print(setA <= setB)   # True (子集)
print(setA < setB)    # True (真子集)
print(setB <= setB)   # True 
print(setB < setB)    # False (非真子集)

#[钛妹]: 方法版本怎么用？
print(setA.issubset(setB))  # 等价于 <=

#[钛妹]: >= 和 > 怎么区分？
setC = {1, 2, 3, 4}
setD = {1, 3}
print(setC >= setD)   # True (超集)
print(setC > setD)    # True (真超集)
print(setC.issuperset(setD))  # 方法版本

#[钛妹]: pop怎么用？
colors = {"red", "blue", "green"}
popped = colors.pop()  # 随机移除（集合无序！）
print(f"被移除的是: {popped}")  # 可能是任意元素
print(colors)  # 剩下两个元素

#[钛妹]: 空集合pop会怎样？
empty_set = set()
empty_set.pop()  # 会引发KeyError

#[钛妹]: 验证集合包含关系
group1 = {"Python", "Java"}
group2 = {"Python", "Java", "C++"}
print(group1.issubset(group2))  # True
print(group2.issuperset(group1))  # True
print(not group1.isdisjoint(group2))  # True (有交集)

#[钛哥]: 重点提炼：
# isdisjoint() 是否无交集  示例: s.isdisjoint(t)
# issubset()  子集判断    <= 或 <  示例: s <= t
# issuperset() 超集判断   >= 或 >  示例: s >= t
# pop()       随机删除    示例: s.pop()

#[钛妹]: 原来< >符号在集合中代表真子集/真超集关系，这下彻底明白了！
#[钛妹]: 注意！集合的pop()是随机的，不像列表有顺序，使用时要注意场景哦！